<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    
    <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="generator" content="Hugo 0.68.3 with theme Tranquilpeak 0.4.7-BETA">
<meta name="author" content="唐宋缘明卿">
<meta name="keywords" content=", development, next-gen">
<meta name="description" content="Hugo tranquilpeak theme demo">


<meta property="og:description" content="Hugo tranquilpeak theme demo">
<meta property="og:type" content="website">
<meta property="og:title" content="Django">
<meta name="twitter:title" content="Django">
<meta property="og:url" content="https://gaohaihang.gitee.io/ghhs_technology_blog/categories/django/">
<meta property="twitter:url" content="https://gaohaihang.gitee.io/ghhs_technology_blog/categories/django/">
<meta property="og:site_name" content="唐宋缘明卿的博客">
<meta property="og:description" content="Hugo tranquilpeak theme demo">
<meta name="twitter:description" content="Hugo tranquilpeak theme demo">
<meta property="og:locale" content="zh-cn">


<meta name="twitter:card" content="summary">











  <meta property="og:image" content="http://img.qq22.com.cn/uploads/4134/gubtyqxfhz2.jpg?68513786">
  <meta property="twitter:image" content="http://img.qq22.com.cn/uploads/4134/gubtyqxfhz2.jpg?68513786">


    <title>Django</title>

    <link rel="icon" href="https://gaohaihang.gitee.io/ghhs_technology_blog/favicon.png">
    
      <link rel="alternate" type="application/rss+xml" title="RSS" href="https://gaohaihang.gitee.io/ghhs_technology_blog/categories/django/index.xml">
    

    

    <link rel="canonical" href="https://gaohaihang.gitee.io/ghhs_technology_blog/categories/django/">

    
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.4/jquery.fancybox.min.css" integrity="sha256-vuXZ9LGmmwtjqFX1F+EKin1ThZMub58gKULUyf0qECk=" crossorigin="anonymous" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.4/helpers/jquery.fancybox-thumbs.min.css" integrity="sha256-SEa4XYAHihTcEP1f5gARTB2K26Uk8PsndQYHQC1f4jU=" crossorigin="anonymous" />
    
    
    <link rel="stylesheet" href="https://gaohaihang.gitee.io/ghhs_technology_blog/css/style-twzjdbqhmnnacqs0pwwdzcdbt8yhv8giawvjqjmyfoqnvazl0dalmnhdkvp7.min.css" />
    
    

    
      
    
    
  </head>

  <body>
    <div id="blog">
      <header id="header" data-behavior="2">
  <i id="btn-open-sidebar" class="fa fa-lg fa-bars"></i>
  <div class="header-title">
    <a class="header-title-link" href="https://gaohaihang.gitee.io/ghhs_technology_blog/">唐宋缘明卿的博客</a>
  </div>
  
    
      <a class="header-right-picture "
         href="https://gaohaihang.gitee.io/ghhs_technology_blog/#about">
    
    
    
      
        <img class="header-picture" src="http://img.qq22.com.cn/uploads/4134/gubtyqxfhz2.jpg?68513786" alt="作者的图片" />
      
    
    </a>
  
</header>

      <nav id="sidebar" data-behavior="2">
  <div class="sidebar-container">
    
      <div class="sidebar-profile">
        <a href="https://gaohaihang.gitee.io/ghhs_technology_blog/#about">
          <img class="sidebar-profile-picture" src="http://img.qq22.com.cn/uploads/4134/gubtyqxfhz2.jpg?68513786" alt="作者的图片" />
        </a>
        <h4 class="sidebar-profile-name">唐宋缘明卿</h4>
        
          <h5 class="sidebar-profile-bio">弱小的人，才习惯嘲讽与否定；内心强大的人，从不吝啬赞美与鼓励。</h5>
        
      </div>
    
    <ul class="sidebar-buttons">
      
  <li class="sidebar-button">
    
      <a class="sidebar-button-link " href="https://gaohaihang.gitee.io/ghhs_technology_blog/">
    
      <i class="sidebar-button-icon fa fa-lg fa-home"></i>
      
      <span class="sidebar-button-desc">首页</span>
    </a>
  </li>

  <li class="sidebar-button">
    
      <a class="sidebar-button-link " href="https://gaohaihang.gitee.io/ghhs_technology_blog/categories">
    
      <i class="sidebar-button-icon fa fa-lg fa-bookmark"></i>
      
      <span class="sidebar-button-desc">分类</span>
    </a>
  </li>

  <li class="sidebar-button">
    
      <a class="sidebar-button-link " href="https://gaohaihang.gitee.io/ghhs_technology_blog/tags">
    
      <i class="sidebar-button-icon fa fa-lg fa-tags"></i>
      
      <span class="sidebar-button-desc">标签</span>
    </a>
  </li>

  <li class="sidebar-button">
    
      <a class="sidebar-button-link " href="https://gaohaihang.gitee.io/ghhs_technology_blog/archives">
    
      <i class="sidebar-button-icon fa fa-lg fa-archive"></i>
      
      <span class="sidebar-button-desc">归档</span>
    </a>
  </li>

  <li class="sidebar-button">
    
      <a class="sidebar-button-link " href="https://gaohaihang.gitee.io/ghhs_technology_blog/resume">
    
      <i class="sidebar-button-icon fa fa-address-card"></i>
      
      <span class="sidebar-button-desc">Resume</span>
    </a>
  </li>


    </ul>
    <ul class="sidebar-buttons">
      
  <li class="sidebar-button">
    
      <a class="sidebar-button-link " href="https://github.com/ghh617415200" target="_blank" rel="noopener">
    
      <i class="sidebar-button-icon fa fa-lg fa-github"></i>
      
      <span class="sidebar-button-desc">GitHub</span>
    </a>
  </li>

  <li class="sidebar-button">
    
      <a class="sidebar-button-link " href="https://stackoverflow.com/users/13559927/ghh-cirs" target="_blank" rel="noopener">
    
      <i class="sidebar-button-icon fa fa-lg fa-stack-overflow"></i>
      
      <span class="sidebar-button-desc">Stack Overflow</span>
    </a>
  </li>


    </ul>
    <ul class="sidebar-buttons">
      
  <li class="sidebar-button">
    
      <a class="sidebar-button-link " href="https://gaohaihang.gitee.io/ghhs_technology_blog/index.xml">
    
      <i class="sidebar-button-icon fa fa-lg fa-rss"></i>
      
      <span class="sidebar-button-desc">Rss</span>
    </a>
  </li>


    </ul>
  </div>
</nav>

      
        

      
      <div id="main" data-behavior="2"
        class="
               hasCoverMetaIn
               ">
        
          <section class="postShorten-group main-content-wrap">
            
            
              
  
    
  


  

<article class="postShorten postShorten--thumbnailimg-left" itemscope itemType="http://schema.org/BlogPosting">
  <div class="postShorten-wrap">
    
    <div class="postShorten-header">
      <h1 class="postShorten-title" itemprop="headline">
        <a class="link-unstyled" href="https://gaohaihang.gitee.io/ghhs_technology_blog/2017/08/jwt%E5%AE%8C%E5%85%A8%E6%94%BB%E7%95%A5/">
          JWT完全攻略
        </a>
      </h1>
      
  <div class="postShorten-meta post-meta">
    
      <time itemprop="datePublished" datetime="2017-08-04T14:36:41&#43;08:00">
        
  八月 4, 2017

      </time>
    
    
  
  
    <span>发布在</span>
    
      <a class="category-link" href="https://gaohaihang.gitee.io/ghhs_technology_blog/categories/python">python</a>, 
    
      <a class="category-link" href="https://gaohaihang.gitee.io/ghhs_technology_blog/categories/django">django</a>
    
  

  </div>

    </div>
    <div class="postShorten-excerpt" itemprop="articleBody">
      
        <p>想必大家对于JWT也是耳熟能详了，但是具体如何实现，就让我们一起来看一下吧。</p>
      
      <p>
        <a href="https://gaohaihang.gitee.io/ghhs_technology_blog/2017/08/jwt%E5%AE%8C%E5%85%A8%E6%94%BB%E7%95%A5/" class="postShorten-excerpt_link link">阅读全文</a>
        
      </p>
    </div>
  </div>
  
    <a href="https://gaohaihang.gitee.io/ghhs_technology_blog/2017/08/jwt%E5%AE%8C%E5%85%A8%E6%94%BB%E7%95%A5/">
      <div class="postShorten-thumbnailimg">
        <img alt="" itemprop="image" src="//d1u9biwaxjngwg.cloudfront.net/video-integration-showcase/peak-140.jpg"/>
      </div>
    </a>
  
</article>

            
              
  
    
  


  

<article class="postShorten postShorten--thumbnailimg-top" itemscope itemType="http://schema.org/BlogPosting">
  <div class="postShorten-wrap">
    
      <a href="https://gaohaihang.gitee.io/ghhs_technology_blog/2017/03/github%E6%90%9C%E7%B4%A2%E6%8A%80%E5%B7%A7%E6%B1%87%E6%80%BB/">
        <div class="postShorten-thumbnailimg">
          <img alt="" itemprop="image" src="//d1u9biwaxjngwg.cloudfront.net/welcome-to-tranquilpeak/city-750.jpg"/>
        </div>
      </a>
    
    <div class="postShorten-header">
      <h1 class="postShorten-title" itemprop="headline">
        <a class="link-unstyled" href="https://gaohaihang.gitee.io/ghhs_technology_blog/2017/03/github%E6%90%9C%E7%B4%A2%E6%8A%80%E5%B7%A7%E6%B1%87%E6%80%BB/">
          Github搜索技巧汇总
        </a>
      </h1>
      
  <div class="postShorten-meta post-meta">
    
      <time itemprop="datePublished" datetime="2017-03-01T14:36:41&#43;08:00">
        
  三月 1, 2017

      </time>
    
    
  
  
    <span>发布在</span>
    
      <a class="category-link" href="https://gaohaihang.gitee.io/ghhs_technology_blog/categories/django">Django</a>
    
  

  </div>

    </div>
    <div class="postShorten-excerpt" itemprop="articleBody">
      
        <p>善用搜索能够极大的提高我们在GitHub上面搜索的效率，来看看都有哪些技巧吧~</p>
      
      <p>
        <a href="https://gaohaihang.gitee.io/ghhs_technology_blog/2017/03/github%E6%90%9C%E7%B4%A2%E6%8A%80%E5%B7%A7%E6%B1%87%E6%80%BB/" class="postShorten-excerpt_link link">阅读全文</a>
        
      </p>
    </div>
  </div>
  
</article>

            
              
  
    
  


  

<article class="postShorten postShorten--thumbnailimg-top" itemscope itemType="http://schema.org/BlogPosting">
  <div class="postShorten-wrap">
    
      <a href="https://gaohaihang.gitee.io/ghhs_technology_blog/2017/03/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F%E5%AE%9E%E7%8E%B0%E6%96%B9%E6%B3%95%E9%81%BF%E9%9B%B7/">
        <div class="postShorten-thumbnailimg">
          <img alt="" itemprop="image" src="//d1u9biwaxjngwg.cloudfront.net/welcome-to-tranquilpeak/city-750.jpg"/>
        </div>
      </a>
    
    <div class="postShorten-header">
      <h1 class="postShorten-title" itemprop="headline">
        <a class="link-unstyled" href="https://gaohaihang.gitee.io/ghhs_technology_blog/2017/03/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F%E5%AE%9E%E7%8E%B0%E6%96%B9%E6%B3%95%E9%81%BF%E9%9B%B7/">
          单例模式&amp;实现方法&amp;避雷
        </a>
      </h1>
      
  <div class="postShorten-meta post-meta">
    
      <time itemprop="datePublished" datetime="2017-03-01T14:36:41&#43;08:00">
        
  三月 1, 2017

      </time>
    
    
  
  
    <span>发布在</span>
    
      <a class="category-link" href="https://gaohaihang.gitee.io/ghhs_technology_blog/categories/django">Django</a>
    
  

  </div>

    </div>
    <div class="postShorten-excerpt" itemprop="articleBody">
      
        <p>单例模式（Singleton Pattern）是一种常用的软件设计模式，该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中，某个类只能出现一个实例时，单例对象就能派上用场。</p>
      
      <p>
        <a href="https://gaohaihang.gitee.io/ghhs_technology_blog/2017/03/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F%E5%AE%9E%E7%8E%B0%E6%96%B9%E6%B3%95%E9%81%BF%E9%9B%B7/" class="postShorten-excerpt_link link">阅读全文</a>
        
      </p>
    </div>
  </div>
  
</article>

            
              
  
    
  


  

<article class="postShorten postShorten--thumbnailimg-top" itemscope itemType="http://schema.org/BlogPosting">
  <div class="postShorten-wrap">
    
      <a href="https://gaohaihang.gitee.io/ghhs_technology_blog/2017/02/%E5%88%9D%E8%AF%86celery%E5%BC%82%E6%AD%A5%E9%82%AE%E7%AE%B1%E9%AA%8C%E8%AF%81/">
        <div class="postShorten-thumbnailimg">
          <img alt="" itemprop="image" src="//d1u9biwaxjngwg.cloudfront.net/welcome-to-tranquilpeak/city-750.jpg"/>
        </div>
      </a>
    
    <div class="postShorten-header">
      <h1 class="postShorten-title" itemprop="headline">
        <a class="link-unstyled" href="https://gaohaihang.gitee.io/ghhs_technology_blog/2017/02/%E5%88%9D%E8%AF%86celery%E5%BC%82%E6%AD%A5%E9%82%AE%E7%AE%B1%E9%AA%8C%E8%AF%81/">
          初识Celery&amp;异步邮箱验证
        </a>
      </h1>
      
  <div class="postShorten-meta post-meta">
    
      <time itemprop="datePublished" datetime="2017-02-03T14:36:41&#43;08:00">
        
  二月 3, 2017

      </time>
    
    
  
  
    <span>发布在</span>
    
      <a class="category-link" href="https://gaohaihang.gitee.io/ghhs_technology_blog/categories/django">Django</a>
    
  

  </div>

    </div>
    <div class="postShorten-excerpt" itemprop="articleBody">
      
        <p>异步邮件验证需要使用celery以及django的celery框架</p>
      
      <p>
        <a href="https://gaohaihang.gitee.io/ghhs_technology_blog/2017/02/%E5%88%9D%E8%AF%86celery%E5%BC%82%E6%AD%A5%E9%82%AE%E7%AE%B1%E9%AA%8C%E8%AF%81/" class="postShorten-excerpt_link link">阅读全文</a>
        
      </p>
    </div>
  </div>
  
</article>

            
              
  
    
  


  

<article class="postShorten postShorten--thumbnailimg-top" itemscope itemType="http://schema.org/BlogPosting">
  <div class="postShorten-wrap">
    
      <a href="https://gaohaihang.gitee.io/ghhs_technology_blog/2017/02/%E5%88%9D%E8%AF%86scrapy%E6%A1%86%E6%9E%B6/">
        <div class="postShorten-thumbnailimg">
          <img alt="" itemprop="image" src="//d1u9biwaxjngwg.cloudfront.net/welcome-to-tranquilpeak/city-750.jpg"/>
        </div>
      </a>
    
    <div class="postShorten-header">
      <h1 class="postShorten-title" itemprop="headline">
        <a class="link-unstyled" href="https://gaohaihang.gitee.io/ghhs_technology_blog/2017/02/%E5%88%9D%E8%AF%86scrapy%E6%A1%86%E6%9E%B6/">
          初识Scrapy框架
        </a>
      </h1>
      
  <div class="postShorten-meta post-meta">
    
      <time itemprop="datePublished" datetime="2017-02-03T14:36:41&#43;08:00">
        
  二月 3, 2017

      </time>
    
    
  
  
    <span>发布在</span>
    
      <a class="category-link" href="https://gaohaihang.gitee.io/ghhs_technology_blog/categories/django">Django</a>
    
  

  </div>

    </div>
    <div class="postShorten-excerpt" itemprop="articleBody">
      
        <p>爬虫学的好，牢饭吃得饱。</p>
      
      <p>
        <a href="https://gaohaihang.gitee.io/ghhs_technology_blog/2017/02/%E5%88%9D%E8%AF%86scrapy%E6%A1%86%E6%9E%B6/" class="postShorten-excerpt_link link">阅读全文</a>
        
      </p>
    </div>
  </div>
  
</article>

            
              
  
    
  


  

<article class="postShorten postShorten--thumbnailimg-top" itemscope itemType="http://schema.org/BlogPosting">
  <div class="postShorten-wrap">
    
      <a href="https://gaohaihang.gitee.io/ghhs_technology_blog/2015/04/html%E7%AE%80%E4%BB%8B/">
        <div class="postShorten-thumbnailimg">
          <img alt="" itemprop="image" src="//d1u9biwaxjngwg.cloudfront.net/welcome-to-tranquilpeak/city-750.jpg"/>
        </div>
      </a>
    
    <div class="postShorten-header">
      <h1 class="postShorten-title" itemprop="headline">
        <a class="link-unstyled" href="https://gaohaihang.gitee.io/ghhs_technology_blog/2015/04/html%E7%AE%80%E4%BB%8B/">
          HTML简介
        </a>
      </h1>
      
  <div class="postShorten-meta post-meta">
    
      <time itemprop="datePublished" datetime="2015-04-03T14:36:41&#43;08:00">
        
  四月 3, 2015

      </time>
    
    
  
  
    <span>发布在</span>
    
      <a class="category-link" href="https://gaohaihang.gitee.io/ghhs_technology_blog/categories/django">Django</a>
    
  

  </div>

    </div>
    <div class="postShorten-excerpt" itemprop="articleBody">
      
        <hr>
<p>HTML基础</p>
      
      <p>
        <a href="https://gaohaihang.gitee.io/ghhs_technology_blog/2015/04/html%E7%AE%80%E4%BB%8B/" class="postShorten-excerpt_link link">阅读全文</a>
        
      </p>
    </div>
  </div>
  
</article>

            
            

          </section>
        
        <footer id="footer" class="main-content-wrap">
  <span class="copyrights">
    &copy; 2020 唐宋缘明卿. All Rights Reserved
  </span>
</footer>

      </div>
    </div>
    
    <div id="about">
  <div id="about-card">
    <div id="about-btn-close">
      <i class="fa fa-remove"></i>
    </div>
    
      <img id="about-card-picture" src="http://img.qq22.com.cn/uploads/4134/gubtyqxfhz2.jpg?68513786" alt="作者的图片" />
    
    <h4 id="about-card-name">唐宋缘明卿</h4>
    
      <div id="about-card-bio">弱小的人，才习惯嘲讽与否定；内心强大的人，从不吝啬赞美与鼓励。</div>
    
    
      <div id="about-card-job">
        <i class="fa fa-briefcase"></i>
        <br/>
        python全栈工程师
      </div>
    
    
      <div id="about-card-location">
        <i class="fa fa-map-marker"></i>
        <br/>
        中国 北京
      </div>
    
  </div>
</div>

    

    
  
    
      <div id="cover" style="background-image:url('https://gaohaihang.gitee.io/ghhs_technology_blog/images/cover.jpg');"></div>
    
  


    
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js" integrity="sha256-/BfiIkHlHoVihZdc6TFuj7MmJ0TWcWsMXkeDFwhi0zw=" crossorigin="anonymous"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.7/js/jquery.fancybox.min.js" integrity="sha256-GEAnjcTqVP+vBp3SSc8bEDQqvWAZMiHyUSIorrWwH50=" crossorigin="anonymous"></script>


<script src="https://gaohaihang.gitee.io/ghhs_technology_blog/js/script-pcw6v3xilnxydl1vddzazdverrnn9ctynvnxgwho987mfyqkuylcb1nlt.min.js"></script>


<script lang="javascript">
window.onload = updateMinWidth;
window.onresize = updateMinWidth;
document.getElementById("sidebar").addEventListener("transitionend", updateMinWidth);
function updateMinWidth() {
  var sidebar = document.getElementById("sidebar");
  var main = document.getElementById("main");
  main.style.minWidth = "";
  var w1 = getComputedStyle(main).getPropertyValue("min-width");
  var w2 = getComputedStyle(sidebar).getPropertyValue("width");
  var w3 = getComputedStyle(sidebar).getPropertyValue("left");
  main.style.minWidth = `calc(${w1} - ${w2} - ${w3})`;
}
</script>

<script>
$(document).ready(function() {
  hljs.configure({ classPrefix: '', useBR: false });
  $('pre.code-highlight > code, pre > code').each(function(i, block) {
    if (!$(this).hasClass('codeblock')) {
      $(this).addClass('codeblock');
    }
    hljs.highlightBlock(block);
  });
});
</script>





    
  </body>
</html>

